﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Xejen.Database.Entities.Auditing
{
    /// <summary>
    /// 表示实体<see cref="IEntity{TPrimaryKey}"/>的修改者
    /// </summary>
    public interface IModificationAudited : IModificationTime
    {
        /// <summary>
        /// 表示修改者的主键id
        /// </summary>
        long? ModifierUserId { get; set; }
    }

    /// <summary>
    /// 表示实体<see cref="IEntity{TPrimaryKey}"/>的修改者
    /// </summary>
    public interface IModificationAudited<TUser> : IModificationAudited
        where TUser : IEntity
    {
        /// <summary>
        /// 表示修改者
        /// </summary>
        TUser ModifierUser { get; set; }
    }
}
